package cn.remexs.examples.apijson.parser;

import apijson.RequestMethod;
import apijson.framework.APIJSONObjectParser;
import apijson.framework.APIJSONParser;
import apijson.orm.SQLConfig;
import com.alibaba.fastjson.JSONObject;

/**请求解析器
 * @author remexs
 */
public class CustomRequestParser extends APIJSONParser {

  public CustomRequestParser() {
    super();
  }

  public CustomRequestParser(RequestMethod method) {
    super(method);
  }

  public CustomRequestParser(RequestMethod method, boolean needVerify) {
    super(method, needVerify);
  }

  //	可重写来设置最大查询数量
  //	@Override
  //	public int getMaxQueryCount() {
  //		return 50;
  //	}

  @Override
  public APIJSONObjectParser createObjectParser(
    JSONObject request,
    String parentPath,
    SQLConfig arrayConfig,
    boolean isSubquery,
    boolean isTable,
    boolean isArrayMainTable
  )
    throws Exception {
    return new CustomObjectParser(
      getSession(),
      request,
      parentPath,
      arrayConfig,
      isSubquery,
      isTable,
      isArrayMainTable
    )
      .setMethod(getMethod())
      .setParser(this);
  }
}
